#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
inline ll quickpow(ll x,ll y,ll mod)
{
	ll re=1;
	while(y!=0)
	{
		if(y%2==1)
		{
			re=re*x%mod;
		}
		x=x*x%mod;
		y=y/2;
	}
	return re;
}
inline ll quickmul(ll x,ll y,ll mod)
{
	if(x<0)
	{
		x=x+mod;
	}
	if(y<0)
	{
		y=y+mod;
	}
	ll re=0;
	while(y!=0)
	{
		if(y%2==1)
		{
			re=(re+x)%mod;
		}
		x=(x+x)%mod;
		y=y/2;
	}
	return re;
}

ll k,a[20],b[20],t[20];
void exgcd(ll n,ll m, ll& x,ll& y)
{
	if(m==0)
	{
		x=1;
		y=0;
		return;
	}
	exgcd(m,n%m,y,x);
	y=y-(n/m)*x;
}
ll crt()
{
	ll ans=0,lcm=1,x,y;
	for(int i=1;i<=k;i++)
	{
		lcm=lcm*b[i];
	}
	for(int i=1;i<=k;i++)
	{
		t[i]=lcm/b[i];
		exgcd(t[i],b[i],x,y);
		x=(x%b[i]+b[i])%b[i];
		ans=(ans+quickmul(quickmul(t[i],a[i],lcm),x,lcm))%lcm; 
	}
	return (ans+lcm)%lcm;
}
int main()
{
	scanf("%lld",&k);
	for(int i=1;i<=k;i++)
	{
		scanf("%lld",&a[i]);
	}
	for(int i=1;i<=k;i++)
	{
		scanf("%lld",&b[i]);
	}
	printf("%lld\n",crt());
	return 0;
}
